package com.example.demo.boot.app;

import org.springframework.beans.factory.annotation.Value;

public class AppConstants {

    /**
     * 服务名
     */
    public static String APPLICATION_NAME;

    /**
     * 配置文件
     */
    public static String PROFILE;

    /**
     * 系统环境
     */
    public static String SYSTEM_ENV;

    /**
     * 线上环境
     */
    public static boolean isReal() {
        return "real".equalsIgnoreCase(SYSTEM_ENV);
    }

    /**
     * 测试环境
     */
    public static boolean isBeta() {
        return "beta".equalsIgnoreCase(SYSTEM_ENV);
    }

    /**
     * 开发环境
     */
    public static boolean isDev() {
        return "dev".equalsIgnoreCase(SYSTEM_ENV);
    }

    /**
     * 本地环境
     */
    public static boolean isLocal() {
        return "local".equalsIgnoreCase(SYSTEM_ENV);
    }

    @Value("${spring.application.name}")
    public void setApplicationName(String applicationName) {
        APPLICATION_NAME = applicationName;
    }

    @Value("${system.env:}")
    public void setEnv(String env) {
        SYSTEM_ENV = env;
    }

    @Value("{spring.profiles.active}")
    public void setProfile(String profile) {
        PROFILE = profile;
    }
}
